//字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如，输入字符串"abcdefg"和数字2，该函数
//将返回左旋转两位得到的结果"cdefgab"。 
//
// 
//
// 示例 1： 
//
// 输入: s = "abcdefg", k = 2
//输出: "cdefgab"
// 
//
// 示例 2： 
//
// 输入: s = "lrloseumgh", k = 6
//输出: "umghlrlose"
// 
//
// 
//
// 限制： 
//
// 
// 1 <= k < s.length <= 10000 
// 
// Related Topics 数学 双指针 字符串 👍 144 👎 0


package leetcode.editor.cn1;

//Java：左旋转字符串
public class ZuoXuanZhuanZiFuChuanLcof {
    public static void main(String[] args) {
        Solution solution = new ZuoXuanZhuanZiFuChuanLcof().new Solution();
        // TO TEST
        System.out.println(solution.reverseLeftWords("lrloseumgh", 6));
    }

    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {
        public String reverseLeftWords(String s, int n) {
            // 1. 找到开始的字串
//            String head = s.substring(0, n);
//            String tail = s.substring(n, s.length());
//            return tail + head;
            char[] contents = new char[s.length()];
            int nlen = s.length();
            for (int i = 0; i < nlen; i++) {
                if (i < n) {
                    contents[nlen - (n - i)] = s.charAt(i);
                } else {
                    contents[i - n] = s.charAt(i);
                }
            }
            return String.valueOf(contents);
        }
    }
//leetcode submit region end(Prohibit modification and deletion)

}
